package br.com.vti.sisp_sicrim.antigo.controller.programa;

import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.vti.sisp_sicrim.antigo.model.DidCadastro;
import br.com.vti.sisp_sicrim.antigo.model.SicControle;
import br.com.vti.sisp_sicrim.antigo.util.Sessao;
import br.com.vti.sisp_sicrim.antigo.util.UtilBean;

/**
 * Classe : Idcpa099 CONTROLE DE PAGAMENTO DO RG *
 * 
 * @author Incode - Data: mai/2014
 * 
 */

@Resource
@Path("/antigo/idcpa099")
public class Idcpa099 {
	// Views utilizadas
	DidCadastro vwDidcad = new DidCadastro();
	SicControle vwDvecon = new SicControle(); // Funcoes/subrotinas
	FuncoesGerais funcoes = new FuncoesGerais();

	Result result;
	Sessao sessao;
	private long numero;

	public Idcpa099(Result result, Sessao sessao) {
		this.result = result;
		this.sessao = sessao;
	}

	@Post
	public void main() throws NumberFormatException, Exception {
		while (vwDvecon.leitura()) {
			if (vwDvecon.getTipoDocumento() == 88 && UtilBean.validarMascara(vwDvecon.getNumeroChassi(), "99999999999")) {
				numero = Long.parseLong(vwDvecon.getNumeroChassi());
				while (vwDidcad.pesquisaNumeroRg(numero)) {
					vwDvecon.setCodigoMunicipio(vwDidcad.getNumeroPosto());
					if (vwDidcad.getNumeroVia() >= 1 && vwDidcad.getNumeroVia() <= 3) {
						vwDvecon.setCodigoRecuperacao(vwDidcad.getNumeroVia());
					}
					vwDvecon.atualiza();
					// dao.commit();
				}
				vwDidcad.fecha();
			} else {
				// dao.rollback();
			}

		}
		vwDvecon.fecha();
	}
}
